import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    list: []
  },
  getters: {
  },
  // 同步的进行修改
  mutations: {
    SET_LIST(state, { list }) {
      state.list = list
    }
  },
  // 只发起异步任务
  actions: {
    // 在actions中的函数第一个默认参数是context(上下文)
    init(context) {
       axios.get('/getList').then(res => {
          // 只要是同步的修改 vuex 中state中的数据 就必须得使用  mutations中的方法
          context.commit("SET_LIST", {
            list: res.data.list
          })
       })
    }
  }
})
